perm filename FUNCTI.DIF[CLS,LSP]1 blob sn#826005 filedate 1986-10-13 generic text, type T, neo UTF8
  1) FUNCTI.1[CLS,LSP] and 2) FUNCTI.TEX[CLS,LSP]	10-13-86 21:53	pages 1,1

**** File 1) FUNCTI.1[CLS,LSP]/1P/36L
1)	\Defun {add-method} {generic-function options specialized-lambda-list function}
1)	\label Arguments:
**** File 2) FUNCTI.TEX[CLS,LSP]/1P/36L
2)	\Defun {add-method} {generic-function qualifiers specializers function}
2)	\label Arguments:
***************


**** File 1) FUNCTI.1[CLS,LSP]/1P/43L
1)	The {\it options\/} argument specifies the method combination options.
1)	The {\it specialized-lambda-list\/} argument is a lambda list of the type that
1)	may be given to {\bf defmethod}.
1)	The {\it function\/} argument is the method function.
**** File 2) FUNCTI.TEX[CLS,LSP]/1P/43L
2)	The {\it qualifiers\/} argument specifies the method combination options.
2)	The {\it specializers\/} argument is a list of argument specializers of
2)	the type that may be given to {\bf defmethod}.
2)	The {\it function\/} argument is the method function.
***************


**** File 1) FUNCTI.1[CLS,LSP]/1P/63L
1)	{\bf defmethod}
1)	\endcom
**** File 2) FUNCTI.TEX[CLS,LSP]/1P/63L
2)	{\bf defmethod
2)	make-generic-function}
2)	\endcom
***************


**** File 1) FUNCTI.1[CLS,LSP]/1P/73L
1)	list of the parameters of the generic function, in the order in which
1)	they were specified, and a list of these same parameters, in order of
**** File 2) FUNCTI.TEX[CLS,LSP]/1P/75L
2)	list of the required parameters of the generic function, in the order in which
2)	they were specified, and a list of these same parameters, in order of
***************


**** File 1) FUNCTI.1[CLS,LSP]/1P/88L
1)	Two values are returned: a list of the parameters of the generic
1)	function and a list of the same parameters, in order of decreasing
**** File 2) FUNCTI.TEX[CLS,LSP]/1P/90L
2)	Two values are returned: a list of the required parameters of the generic
2)	function and a list of the same parameters, in order of decreasing
***************
  1) FUNCTI.1[CLS,LSP] and 2) FUNCTI.TEX[CLS,LSP]	10-13-86 21:53	pages 1,1



**** File 1) FUNCTI.1[CLS,LSP]/1P/130L
1)	\label Values:
**** File 2) FUNCTI.TEX[CLS,LSP]/1P/132L
2)	The {\it new-class\/} argument is a class object.
2)	\label Values:
***************


**** File 1) FUNCTI.1[CLS,LSP]/1P/176L
1)	If the object was created with {\bf make-instance}, the class that is
1)	returned is the class that was specified as the {\it class\/} argument 
**** File 2) FUNCTI.TEX[CLS,LSP]/1P/180L
2)	If the object was created with {\bf make-instance} and its clas was
2)	not changed, the class that is
2)	returned is the class that was specified as the {\it class\/} argument 
***************


**** File 1) FUNCTI.1[CLS,LSP]/1P/207L
1)	\+&{\bf defclass} {\it name includes} \paren{\star{\curly{slot-description}}} \star{\curly{class-option}}\cr
1)	\Vskip 1pc!
**** File 2) FUNCTI.TEX[CLS,LSP]/1P/212L
2)	\+&{\bf defclass} {\it class-name includes} \paren{\star{\curly{slot-description}}} \star{\curly{class-option}}\cr
2)	\Vskip 1pc!
***************


**** File 1) FUNCTI.1[CLS,LSP]/1P/216L
1)	\+&&{\tt :accessor} {\it symbol\/} $\vert$ {\tt :accessor nil} $\vert$ \cr
1)	\+&&{\tt :read-accessor} {\it symbol\/} $\vert$ {\tt :read-accessor nil} $\vert$ \cr
1)	\+&&{\tt :allocation} {\it allocation-type} \cr
1)	\Vskip 1pc!
**** File 2) FUNCTI.TEX[CLS,LSP]/1P/221L
2)	\+&&{\tt :accessor} {\it generic-function-name\/} $\vert$ {\tt :accessor nil} $\vert$ \cr
2)	\+&&{\tt :read-accessor} {\it generic-function-name\/} $\vert$ {\tt :read-accessor nil} $\vert$ \cr
2)	\+&&{\tt :allocation} {\it allocation-type} \cr
2)	\Vskip 1pc!
2)	\+&{\it generic-function-name\/}::$=$ {\it symbol\/}\cr
2)	\Vskip 1pc!
***************


**** File 1) FUNCTI.1[CLS,LSP]/1P/227L
1)	\+&&({\tt :metaclass} {\it symbol\/}) \cr
1)	\+&&({\tt :instantiable t}) $\vert$ ({\tt :instantiable nil}) \cr
**** File 2) FUNCTI.TEX[CLS,LSP]/1P/234L
  1) FUNCTI.1[CLS,LSP] and 2) FUNCTI.TEX[CLS,LSP]	10-13-86 21:53	pages 1,1

2)	\+&&({\tt :metaclass} {\it class-name\/}) \cr
2)	\+&&({\tt :instantiable t}) $\vert$ ({\tt :instantiable nil}) \cr
***************


**** File 1) FUNCTI.1[CLS,LSP]/1P/373L
1)	\Defmac {defmethod} {name 
1)	\star{\curly{option}}
1)	\vtop{\hbox{specialized-lambda-list}
1)	\hbox{\star{\curly{declaration $\vert$ documentation}} \star\form}}}
1)	\Vskip1pc!\null
1)	{\it option\/}::$=$ {\tt :before $\vert$ :after $\vert$ $\dots$}
1)	\Vskip1pc!\null
**** File 2) FUNCTI.TEX[CLS,LSP]/1P/380L
2)	\Defmac {defmethod} {generic-function-name
2)	\vtop{\hbox{\star{\curly{qualifier}}}
2)	\hbox{specialized-lambda-list}
2)	\hbox{\star{\curly{declaration $\vert$ documentation}} \star\form}}}
2)	\Vskip1pc!\null
2)	{\it generic-function-name\/}::$=$ {\it symbol}
2)	\Vskip1pc!\null
2)	{\it qualifier\/}::$=$ {\tt :before $\vert$ :after $\vert$ $\dots$}
2)	\Vskip1pc!\null
***************


**** File 1) FUNCTI.1[CLS,LSP]/1P/390L
1)	\+&{\it specializer\/}::$=$ {\it symbol} $\vert$ {\tt '}{\it thing}\cr
1)	\Vskip 1pc!
**** File 2) FUNCTI.TEX[CLS,LSP]/1P/399L
2)	\+&{\it specializer\/}::$=$ {\it symbol} $\vert$ {\tt '}{\it datum}\cr
2)	\Vskip 1pc!
***************


**** File 1) FUNCTI.1[CLS,LSP]/1P/399L
1)	\label Examples:
**** File 2) FUNCTI.TEX[CLS,LSP]/1P/408L
2)	The new method object is returned as the result.
2)	\label Examples:
***************


**** File 1) FUNCTI.1[CLS,LSP]/1P/417L
1)	\Defmac {defmethod-setf} {name
1)	\star{\curly{option}}
1)	\vtop{\hbox{specialized-lambda-list setf-lambda-list}
1)	\hbox{\star{\curly{declaration $\vert$ documentation}} \star\form}}}
  1) FUNCTI.1[CLS,LSP] and 2) FUNCTI.TEX[CLS,LSP]	10-13-86 21:53	pages 1,1

1)	\Vskip1pc!\null
1)	{\it option\/}::$=$ {\tt :before $\vert$ :after $\vert$ $\dots$}
1)	\Vskip1pc!\null
**** File 2) FUNCTI.TEX[CLS,LSP]/1P/428L
2)	\Defmac {defmethod-setf} {generic-function-name
2)	\vtop{\hbox{\star{\curly{qualifier}}}
2)	\hbox{specialized-lambda-list specialized-setf-vars}
2)	\hbox{\star{\curly{declaration $\vert$ documentation}} \star\form}}}
2)	\Vskip1pc!\null
2)	{\it generic-function-name\/}::$=$ {\it symbol}
2)	\Vskip1pc!\null
2)	{\it qualifier\/}::$=$ {\tt :before $\vert$ :after $\vert$ $\dots$}
2)	\Vskip1pc!\null
***************


**** File 1) FUNCTI.1[CLS,LSP]/1P/434L
1)	\+&{\it setf-lambda-list}::$=$ (\star{\curly{var  $\vert$ {\rm (}var specializer\/{\rm )}}}  \cr
1)	\Vskip1pc!\null
1)	\+&{\it specializer\/}::$=$ {\it symbol} $\vert$ {\tt '}{\it thing}\cr
1)	\Vskip 1pc!
**** File 2) FUNCTI.TEX[CLS,LSP]/1P/447L
2)	\+&{\it specialized-setf-vars\/}::$=$ (\star{\curly{var  $\vert$ {\rm (}var specializer\/{\rm )}}}  \cr
2)	\Vskip1pc!\null
2)	\+&{\it specializer\/}::$=$ {\it symbol} $\vert$ {\tt '}{\it datum}\cr
2)	\Vskip 1pc!
***************


**** File 1) FUNCTI.1[CLS,LSP]/1P/445L
1)	\label Examples:
**** File 2) FUNCTI.TEX[CLS,LSP]/1P/458L
2)	The new method object is returned as the result.
2)	\label Examples:
***************


**** File 1) FUNCTI.1[CLS,LSP]/1P/485L
1)	documentation string for the generic function.  If the first argument is
1)	a generic function, the documentation string of the generic is returned.
1)	If the first argument is a method, the documentation string of the method
1)	is returned.
1)	\label Syntax:
**** File 2) FUNCTI.TEX[CLS,LSP]/1P/500L
2)	documentation string for the generic function.
2)	If the first argument is a method, the documentation string of the method
2)	is returned.
2)	If the first argument is a class object, the documentation string for the
  1) FUNCTI.1[CLS,LSP] and 2) FUNCTI.TEX[CLS,LSP]	10-13-86 21:53	pages 1,1

2)	class is returned.
2)	\label Syntax:
***************


**** File 1) FUNCTI.1[CLS,LSP]/1P/497L
1)	documentation for a symbol, generic function, or method. 
1)	\endcom
**** File 2) FUNCTI.TEX[CLS,LSP]/1P/513L
2)	documentation for a symbol, generic function, method, or class.
2)	\endcom
***************


**** File 1) FUNCTI.1[CLS,LSP]/1P/511L
1)	[It is intended that this function correspond to whatever
1)	{\bf function-parameters} is adopted for Common Lisp.]
1)	\label Syntax:
**** File 2) FUNCTI.TEX[CLS,LSP]/1P/527L
2)	\label Syntax:
***************


**** File 1) FUNCTI.1[CLS,LSP]/1P/525L
1)	\label Examples:
**** File 2) FUNCTI.TEX[CLS,LSP]/1P/538L
2)	The result of {\bf function-parameters} is a copy of the lambda list of its
2)	argument from which default values for {\bf \&optional} and {\bf \&key}
2)	parameters and supplied-p parameters have been removed.
2)	\label Examples:
***************


**** File 1) FUNCTI.1[CLS,LSP]/1P/534L
1)	The macro {\bf setf} can be used with {\bf function-parameters}.
1)	\endcom
1)	\begincom{generic-function-p}
1)	\label Purpose:
1)	The predicate {\bf generic-function-p} is true if its argument is a
1)	generic function, otherwise it is false.
1)	\label Syntax:
1)	\Defun {generic-function-p} {object}
1)	\label Examples:
**** File 2) FUNCTI.TEX[CLS,LSP]/1P/551L
2)	[It is intended that this function correspond to whatever
2)	{\bf function-parameters} is adopted for Common Lisp.]
2)	The macro {\bf setf} can be used with {\bf function-parameters}.
2)	\endcom
  1) FUNCTI.1[CLS,LSP] and 2) FUNCTI.TEX[CLS,LSP]	10-13-86 21:53	pages 1,1

2)	\begincom{generic-function-method-combination}
2)	\label Purpose:
2)	The function {\bf generic-function-method-combination} returns the method combination
2)	for the given generic function.
2)	\label Syntax:
2)	\Defun {generic-function-method-combination} {generic-function}
2)	\label Arguments:
2)	The {\it generic-function\/} argument is a generic
2)	function or a symbol that names a generic function.
2)	\label Values:
2)	\label Examples:
***************


**** File 1) FUNCTI.1[CLS,LSP]/1P/561L
1)	\begincom{get-method}
**** File 2) FUNCTI.TEX[CLS,LSP]/1P/589L
2)	\begincom{generic-function-p}
2)	\label Purpose:
2)	The predicate {\bf generic-function-p} is true if its argument is a
2)	generic function, otherwise it is false.
2)	\label Syntax:
2)	\Defun {generic-function-p} {object}
2)	\label Examples:
2)	\screen!
2)	A non-{\bf nil} value is returned if the argument is a generic function
2)	object, otherwise the result is {\bf nil}.
2)	\endscreen!
2)	\endcom
2)	\begincom{get-method}
***************


**** File 1) FUNCTI.1[CLS,LSP]/1P/566L
1)	method object that has the given argument specializers and options.
1)	If no such method exists, {\bf get-method} returns {\bf nil}.
1)	\label Syntax:
1)	\Defun {get-method} {generic-function options specializers}
1)	\label Arguments:
**** File 2) FUNCTI.TEX[CLS,LSP]/1P/618L
2)	method object that has the given argument qualifiers and specializers.
2)	If no such method exists, {\bf get-method} returns {\bf nil}.
2)	\label Syntax:
2)	\Defun {get-method} {generic-function qualifiers specializers}
2)	\label Arguments:
***************


  1) FUNCTI.1[CLS,LSP] and 2) FUNCTI.TEX[CLS,LSP]	10-13-86 21:53	pages 1,1

**** File 1) FUNCTI.1[CLS,LSP]/1P/579L
1)	The {\it options\/} argument specifies the method combination options.
1)	The {\it specializers\/} argument is a list of the argument specializers
1)	for the method.  If {\it specializers\/} is {\bf nil}, the
1)	default method function for that method is returned.
1)	\endcom
**** File 2) FUNCTI.TEX[CLS,LSP]/1P/631L
2)	The {\it qualifiers\/} argument specifies the method combination options.
2)	The {\it specializers\/} argument is a list of the argument specializers
2)	for the method.  If {\it specializers\/} is {\bf nil}, the
2)	default method function for that generic function is returned.
2)	\label Values:
2)	The result of {\bf get-method} is the method object with the given
2)	qualifiers and specializers.  If no such method object exists,
2)	{\bf get-method} returns {\bf nil}.
2)	\label Examples:
2)	\screen!
2)	\endscreen!
2)	\endcom
***************


**** File 1) FUNCTI.1[CLS,LSP]/1P/603L
1)	\endcom
**** File 2) FUNCTI.TEX[CLS,LSP]/1P/667L
2)	\label Values:
2)	The result of {\bf lambda-list-specializers} is a list of the argument
2)	specifiers for all required arguments in the given lambda list.
2)	\endcom
***************


**** File 1) FUNCTI.1[CLS,LSP]/1P/614L
1)	The function {\bf make-generic-function} is intended to be the
1)	programmatic interface to {\bf defgeneric}.
1)	\label Syntax:
**** File 2) FUNCTI.TEX[CLS,LSP]/1P/683L
2)	\label Syntax:
***************


**** File 1) FUNCTI.1[CLS,LSP]/1P/627L
1)	permutation of the elements of the lambda list.
1)	The {\bf :method-combination-type} argument is a symbol.
1)	The {\bf :documentation} argument is a string.
1)	\label See Also:
**** File 2) FUNCTI.TEX[CLS,LSP]/1P/693L
2)	permutation of all the required parameters of the generic function lambda list.
  1) FUNCTI.1[CLS,LSP] and 2) FUNCTI.TEX[CLS,LSP]	10-13-86 21:53	pages 1,1

2)	The {\bf :method-combination-type} argument is a symbol.
2)	The {\bf :documentation} argument is a string.
2)	\label Values:
2)	The result of {\bf make-generic-function} is a generic function object.
2)	\label Examples:
2)	\screen!
2)	[To be written.]
2)	\endscreen!
2)	\label Remarks:
2)	The function {\bf make-generic-function} is intended to be the
2)	programmatic interface to {\bf defgeneric}.
2)	\label See Also:
***************


**** File 1) FUNCTI.1[CLS,LSP]/1P/656L
1)	\label Remarks:
**** File 2) FUNCTI.TEX[CLS,LSP]/1P/738L
2)	The new instance is returned.
2)	\label Remarks:
***************


**** File 1) FUNCTI.1[CLS,LSP]/1P/672L
1)	\label Examples:
1)	\screen!
1)	[To be written.]
1)	\endscreen!
1)	\label See Also:
**** File 2) FUNCTI.TEX[CLS,LSP]/1P/756L
2)	\label See Also:
***************


**** File 1) FUNCTI.1[CLS,LSP]/1P/688L
1)	\begincom{method-combination}
1)	\label Purpose:
1)	The function {\bf method-combination} returns the method combination
1)	for the given generic function.
1)	\label Syntax:
1)	\Defun {method-combination} {generic-function}
1)	\label Arguments:
1)	The {\it generic-function\/} argument is a generic
1)	function or a symbol that names a generic function.
1)	\label Values:
1)	\label Examples:
1)	\screen!
1)	[To be written.]
  1) FUNCTI.1[CLS,LSP] and 2) FUNCTI.TEX[CLS,LSP]	10-13-86 21:53	pages 1,1

1)	\endscreen!
1)	\endcom
1)	\begincom{remove-class}
**** File 2) FUNCTI.TEX[CLS,LSP]/1P/766L
2)	\begincom{remove-class}
***************


**** File 1) FUNCTI.1[CLS,LSP]/1P/739L
1)	name, options, and argument specializers from the corresponding
1)	generic function.
**** File 2) FUNCTI.TEX[CLS,LSP]/1P/789L
2)	name, qualifiers, and argument specializers from the corresponding
2)	generic function.
***************


**** File 1) FUNCTI.1[CLS,LSP]/1P/747L
1)	\Defun {remove-method} {generic-function options specializers}
1)	\label Arguments:
**** File 2) FUNCTI.TEX[CLS,LSP]/1P/797L
2)	\Defun {remove-method} {generic-function qualifiers specializers}
2)	\label Arguments:
***************


**** File 1) FUNCTI.1[CLS,LSP]/1P/754L
1)	The {\it options\/} argument specifies the method combination options.
1)	The {\it specializers\/} argument is a list of the argument
**** File 2) FUNCTI.TEX[CLS,LSP]/1P/804L
2)	The {\it qualifiers\/} argument specifies the method combination options.
2)	The {\it specializers\/} argument is a list of the argument
***************


**** File 1) FUNCTI.1[CLS,LSP]/1P/762L
1)	The {\it specializers\/} list can be obtained from a {\bf defmethod}
1)	lambda list by use of the function {\bf lambda-list-specializers}.
1)	\label Examples:
**** File 2) FUNCTI.TEX[CLS,LSP]/1P/812L
2)	\label Values:
2)	The result of {\bf remove-method} is the method object with the given
2)	qualifiers and specializers.  If no such method object exists,
2)	{\bf remove-method} returns {\bf nil}.
2)	\label Examples:
***************


  1) FUNCTI.1[CLS,LSP] and 2) FUNCTI.TEX[CLS,LSP]	10-13-86 21:53	pages 1,1

**** File 1) FUNCTI.1[CLS,LSP]/1P/772L
1)	\label See Also:
**** File 2) FUNCTI.TEX[CLS,LSP]/1P/825L
2)	\label Remarks:
2)	The {\it specializers\/} list can be obtained from a {\bf defmethod}
2)	lambda list by use of the function {\bf lambda-list-specializers}.
2)	\label See Also:
***************


**** File 1) FUNCTI.1[CLS,LSP]/1P/791L
1)	the given name, options, and argument specializers from the corresponding
1)	generic function.
1)	The method {\bf remove-setf-method}  {\bf t} if it succeeds and
1)	{\bf nil} if there is no such method.
1)	\label Syntax:
1)	\Defun {remove-setf-method} {generic-function options specializers setf-specialiers}
1)	\label Arguments:
**** File 2) FUNCTI.TEX[CLS,LSP]/1P/849L
2)	the given name, qualifiers, and argument specializers from the corresponding
2)	generic function.
2)	The method {\bf remove-setf-method} returns the given method object if it 
2)	succeeds and {\bf nil} if there is no such method.
2)	\label Syntax:
2)	\Defun {remove-setf-method} {generic-function qualifiers specializers setf-specializers}
2)	\label Arguments:
***************


**** File 1) FUNCTI.1[CLS,LSP]/1P/806L
1)	The {\it options\/} argument specifies the method combination options.
1)	The {\it specializers\/} argument is a list of
**** File 2) FUNCTI.TEX[CLS,LSP]/1P/864L
2)	The {\it qualifiers\/} argument specifies the method combination options.
2)	The {\it specializers\/} argument is a list of
***************


**** File 1) FUNCTI.1[CLS,LSP]/1P/820L
1)	\label See Also:
**** File 2) FUNCTI.TEX[CLS,LSP]/1P/878L
2)	The result of {\bf remove-setf-method} is the method object with the given
2)	qualifiers and specializers.  If no such method object exists,
2)	{\bf remove-setf-method} returns {\bf nil}.
2)	\label See Also:
***************


  1) FUNCTI.1[CLS,LSP] and 2) FUNCTI.TEX[CLS,LSP]	10-13-86 21:53	pages 1,1

**** File 1) FUNCTI.1[CLS,LSP]/1P/888L
1)	\label Remarks:
**** File 2) FUNCTI.TEX[CLS,LSP]/1P/949L
2)	The value of the specified slot is returned.
2)	\label Examples:
2)	\screen!
2)	[To be written.]
2)	\endscreen!
2)	\label Remarks:
***************


**** File 1) FUNCTI.1[CLS,LSP]/1P/896L
1)	\label Examples:
1)	\screen!
1)	[To be written.]
1)	\endscreen!
1)	\endcom
**** File 2) FUNCTI.TEX[CLS,LSP]/1P/965L
2)	\endcom
***************